package db;

import java.sql.SQLException;
import java.util.ArrayList;

import model.Project;
import model.SubContractor;

public interface IFProject 
{
	public int createProject(Project project, ArrayList<SubContractor> subs, ArrayList<Double> price) throws SQLException;
	public int updateProject(Project project) throws SQLException;
	public int activateProject(int projectID) throws SQLException;
	public int transferProject(int offerID, Project project, ArrayList<SubContractor> subs, ArrayList<Double>  price) throws SQLException;
	public int updateProjectPrice(int projectID) throws SQLException;

	public Project findProjectByName(String name) throws SQLException;
	public Project findProjectByID(int id) throws SQLException;

	public ArrayList<Project> searchProjectByName(String name, boolean active) throws SQLException;
	public ArrayList<Project> searchProjectByCity(String city, boolean active) throws SQLException;
	public ArrayList<Project> searchProjectByCountry(String country, boolean active) throws SQLException;
	public ArrayList<Project> searchProjectByCustomer(String customer, boolean active) throws SQLException;
	public ArrayList<Project> searchProjectByEverything(String search, boolean active) throws SQLException;
	public ArrayList<Project> getAllActiveProjects() throws SQLException;
}